Czy BIOS jest systemem operacyjnym? (cz. 10)
LinuxBIOS - prawdziwy system operacyjny jako BIOS
Czym jest LinuxBIOS?
LinuxBIOS to nieco zmodyfikowany system operacyjny Linux zainstalowany jako
BIOS na popularnych komputerach. Nie różni się on bardzo od samego Linuksa, jest
to dodatkowe 500 linii kodu w asemblerze i 5000 w C.
Historia
Prace nad projektem LinuxBIOS rozpoczęły się zimą 1999 roku w Advanced
Computing Laboratory w Los Alamos National Laboratory. Pomysłodawcą był Ron
Minnich, a system rozwijali dwaj studenci (James Hendricks i Dale Webster). Od
tego czasu, dzięki publicznej dostępności kodu, do rozwoju przyczyło się wielu
ludzi.
Całe przedsięwzięcie LinuxBIOS jest sponsorowane przez Instytut Informatyki Los
Alamos i Biuro Nauki Departamentu ds. Energii w Stanach Zjednoczonych Ameryki.
Zastosowania
LinuxBIOS powstał, by ułatwić zarządzanie komputerami połączonymi w klaster.
Dlaczego zwykły BIOS nie wystarczał? Otóż według twórców systemu LinuxBIOS,
standardowy BIOS wymaga dyskietek i dysków twardych, urządzeń wysoce zawodnych,
by uruchomić system operacyjny. Poza tym, nie jest przystosowany do obsługi
nowych, nietypowych urządzeń, działa powoli, występują w nim błędy, a jego
konfiguracja jest bardzo niewygodna. W wypadku konieczności zmiany konfiguracji
ponad stu komputerów w klastrze, występuje poważny problem - jak tę czynność
zautomatyzować? Rozwiązaniem jest właśnie LinuxBIOS, który pełnym systemem
operacyjnym, uruchamianym przy włączaniu komputera.
Lista klastrów używających LinuxBIOS znajduje się pod adresem
http://www.linuxbios.org/clusters/index.html
Co potrafi LinuxBIOS?
Lista możliwość tego systemu jest długa i obejmuje przede wszystkim:
- Uruchamianie innego systemu operacyjnego przez lokalną sieć, może to być
zarówno najpopularniejszy Ethernet jak i inne, nietypowe rozwiązania.
- Połączenia sieciowe - LinuxBIOS może otworzyć szyfrowane połączenie z
innym komputerem i np. pobrać oraz załadować jądro systemu; może również
korzystać z sieciowych systemów plików
- Możliwość uruchamiania komputera bez stacji dysków, twardego dysku, napędu
CD-ROM - wystarczy jedynie jednostka centralna i pamięć. Jest to doskonałe
rozwiązanie w wypadku sieci komputerów stanowiącej klaster.
- Szybkie uruchamianie systemu operacyjnego - udało się osiągnąć czas
poniżej trzech sekund!
Wspierane płyty główne
LinuxBIOS nie jest, niestety, możliwy do zainstalowania na komputerze z
dowolną płytą główną. Dzieje się tak z wielu powodów:
- Niektóre firmy odmówiły współpracy z LinuxBIOS, brakuje dokumentacji
- Istnieją płyty główne, w których sterowanie niektórymi urządzeniami jest
bardzo trudne
- Nie ma wystarczającej liczby chętnych do przeniesienia systemu na rzadko
używane płyty główne
Lista wspieranych płyt głównych znajduje się na stronie internetowej
http://www.linuxbios.org/status/index.html
Kod źródłowy systemu LinuxBIOS
Kod źródłowy systemu LinuxBIOS jest dostępny przez CVS na serwerze
sourceforge.net. Może go obejrzeć przez interfejs WWW dostępny pod adresem
http://cvs.sourceforge.net/viewcvs.py/freebios
Gdzie znaleźć dodatkowe informacje?
Najlepszym źródłem informacji dotyczących systemu LinuxBIOS jest strona
http://www.linuxbios.org
OpenBIOS - podstawowe informacje
Co to jest OpenBIOS?
OpenBIOS to próba implementacji zgodnego ze standardami (szczególnie z normą
IEEE 1275-1994) BIOSu o dostępnym dla wszystkich chętnych kodzie.
Zastosowanie OpenBIOS
OpenBIOS będzie mógł być docelowo zainstalowany na jak największej liczbie
platform, np. x86, Alpha, AMD64. Ważniejsza wydaje się być jednak jego
dostępność w różnego rodzaju urządzeniach przenośnych, gdzie bardzo ważny jest
sprawnie działający i dobrze udokumentowany BIOS z publicznymi źródłami.
Urządzenie /dev/bios
Na stronie
http://www.openbios.info/development/devbios.html można znaleźć informacje o
sterowniku dla urządzenia /dev/bios. Jest to moduł do jądra Linuksa, który
ułatwia zapisywanie i odczytywanie aktualnego BIOSu. Przy jego pomocy będzie
można zainstalować na swoim komputerze np. OpenBIOS.
Aby posiadać takie urządzenie w swoim systemie operacyjnym Linux, należy
postępować klasycznie i po pobraniu źródeł wykonać takie operacje:
mknod /dev/bios c 104 0
# ewentualnie dodatkowo c 104 1, c 104 2, jeżeli ma się
# inne biosy, np. karty sieciowej lub sterownika SCSI
make clean
make
insmod bios.o
Gdzie znaleźć dodatkowe informacje?
Dodatkowe informacje można znaleźć na stronie
http://www.openbios.info - jest to
strona główna tego przedsięwzięcia. Tam też znajduje się kod źródłowy systemu.
Zakończenie
Czy BIOS jest systemem operacyjnym? Na zakończenie przypominamy, definicję systemu operacyjnego podaną na
początku tego cyklu artykułów:
System operacyjny jest programem, który działa jako
pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem
systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może
wykonywać programy. [...] Możemy uważać system operacyjny za dystrybutora
zasobów. System komputerowy ma wiele zasobów (sprzęt i oprogramowanie),
które mogą być potrzebne do rozwiązania zadania. [...] System operacyjny pełni
funkcję zarządcy owych dóbr i przydziela je poszczególnym programom i
użytkownikom wówczas, gdy są one nieodzowne do wykonywania zadań.
Raczej trudno uznać, że BIOS spełnia tę definicję. Nie umożliwia on
uruchamiania programów użytkownika (chyba, że za program użytkownika uznamy
program uruchamiany z sektora startowego twardego dysku lub dyskietki), nie
spełnia roli dystrybutora zasobów, pełni raczej funkcję pośrednika między
systemem operacyjnym a sprzętem. Należy zaznaczyć, że uwagi te dotyczą tylko
"tradycyjnych" BIOSów, w pamięci flash BIOS można bowiem umieścić dowolny kod, w
szczególności jądro systemu operacyjnego.
Abstrahując od kwestii, czy BIOS jest systemem operacyjnym czy nie, należy
zaznaczyć, że będzie on jeszcze długo nieodłącznym elementem każdego komputera
osobistego. Mamy nadzieję, że po przeczytaniu naszego artykułu Czytelnik ma
lepsze rozeznanie w specyfice i ograniczeniach systemu BIOS.
Autorami cyklu artykułów są:
Łukasz Kalbarczyk
Filip Noworyta
Jerzy Papiorek
http://rainbow.mimuw.edu.pl
|